package com.ctshk.rpc.system.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.system.dto.LocalFunIcon;
import com.ctshk.rpc.system.dto.LocalFunIncoDTO;
import com.ctshk.rpc.system.dto.MainDataFunTypeDTO;
import com.ctshk.rpc.system.req.MainDataLocalFunAddReq;

import java.util.List;
import java.util.Map;

/**
 * @Description
 * @Author wansi <gaylen15527491065@yeah.net>
 * @Date 2021/4/22
 */
public interface IMainDataLocalFunService {

    /**
     * 当地玩乐类型列表
     * @param req
     * @param currentUser
     * @return
     */
    Result<PageResponse<LocalFunIncoDTO>> list(MainDataLocalFunAddReq req, TokenUser currentUser);

    /**
     * 新增当地玩乐类型
     * @param req
     * @param currentUser
     * @return
     */
    Result add(MainDataLocalFunAddReq req, TokenUser currentUser);

    /**
     * 编辑当地玩乐类型
     * @param req
     * @param currentUser
     * @return
     */
    Result edit(MainDataLocalFunAddReq req, TokenUser currentUser);

    Result<List<MainDataFunTypeDTO>> getFunType();

    Result updateStatus(MainDataLocalFunAddReq mainDataLocalFunAddReq);

    Result<PageResponse<LocalFunIncoDTO>> getTypeList(MainDataLocalFunAddReq req, TokenUser currentUser);

    /**
     * 获取主数据-顺序映射
     * @return
     */
    Map<Long, LocalFunIcon> getFunSortMapping();
}
